import {toast} from "@/utils/common";

import UQRCode from '@/node_modules/uqrcodejs/uqrcode.js';

export default {
    data() {
        return {
            erweima: false,
            jsonData: {},

            pdfUrl: '',
            pdfUrlLocal: '',
        };
    },
    async onNavigationBarButtonTap(e) {

        uni.showLoading({
            title: '生成中...',
            mask: true
        })
        this.$refs.PDF.cusRenderDom()
    },
    methods: {
        downloadPDFFn(name) {
            const fileUrl = this.pdfUrlLocal
            // 创建一个隐藏的 <a> 元素用于下载
            const link = document.createElement('a');
            link.href = fileUrl;
            link.download = name + '.png'; // 设置下载的文件名
            link.style.display = 'none';
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
            uni.showToast({
                title: '下载成功',
                icon: 'success'
            });
        },
        creatImg() {
            // 获取uQRCode实例
            var qr = new UQRCode();
            // 设置二维码内容
            qr.data = this.pdfUrl;
            // 设置二维码大小，必须与canvas设置的宽高一致
            qr.size = 200;
            // 调用制作二维码方法
            qr.make();
            // 获取canvas上下文
            var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件，this必须传入
            // 设置uQRCode实例的canvas上下文
            qr.canvasContext = canvasContext;
            // 调用绘制方法将二维码图案绘制到canvas上
            qr.drawCanvas();
        },
        imgUpload(res) {
            uni.hideLoading()
            if(res.noCodeImg){
                setTimeout(() => {
                    uni.navigateBack();
                }, 1000)
                return
            }
            if (res.code === 0) {
                this.erweima = true
                this.pdfUrl = res.data.url
                this.pdfUrlLocal = res.path
                this.$nextTick(this.creatImg);
            } else {
                toast('附件获取失败，请稍后再试')
            }
        }
    },
};
